Skip to content

Conversation

@dirrgang
Copy link

About the PR

Adds a Station AI warp interface mirroring ghost warps and extends the Crew Monitoring console so the AI can reposition its eye directly from the map. The warp panel lists coordinate-broadcasting crew and station POIs, with follow support for moving targets.

Why / Balance

Station AI players lacked a quick way to reposition; relying on manual camera scrolling made surveillance and reaction sluggish. The new warp UI and crew-monitor map hopping give the AI responsive oversight while still honoring balance constraints - only crew broadcasting coordinates appear (just like the ghost warp menu), so stealthy players remain hidden. This tightens coordination without adding combat power.

Technical details

Media

https://youtu.be/EVILGOPV9Xs

Requirements

Breaking changes

None

Changelog
🆑

  • add: Station AI warp menu lists coordinate-broadcasting crew and station POIs, with follow support for moving targets.
  • add: Station AI can now jump its eye to any location by clicking the Crew Monitoring map.

… handling

- Updated localization for unknown targets in the navigation map.
- Added disposal logic for event subscriptions in CrewMonitoringWindow.
- Implemented logging for warp requests and errors in CrewMonitoringConsoleSystem and StationAiSystem.
@dirrgang dirrgang requested a review from DrSmugleaf as a code owner October 20, 2025 11:05
@PJBot PJBot added S: Untriaged Status: Indicates an item has not been triaged and doesn't have appropriate labels. Changes: Sprites Changes: Might require knowledge of spriting or visual design. S: Needs Review Status: Requires additional reviews before being fully accepted. Not to be replaced by S: Approved. Changes: UI Changes: Might require knowledge of UI design or code. size/M Denotes a PR that changes 100-999 lines. labels Oct 20, 2025
@github-actions
Copy link
Contributor

RSI Diff Bot; head commit b601750 merging into b92f5dc
This PR makes changes to 1 or more RSIs. Here is a summary of all changes:

Resources/Textures/Interface/Actions/actions_ai.rsi

State Old New Status
warp Added

@ScarKy0
Copy link
Contributor

ScarKy0 commented Oct 20, 2025

Alternative PR adding this functionality: #31653
Also requesting @Errant-4 for review as the author of the other PR.

@ScarKy0 ScarKy0 requested a review from Errant-4 October 20, 2025 11:14
@ScarKy0 ScarKy0 added P3: Standard Priority: Default priority for repository items. T: New Feature Type: New feature or content, or extending existing content D2: Medium Difficulty: A good amount of codebase knowledge required. A: General Interactions Area: General in-game interactions that don't relate to another area. A: Silicons Area: Relates to Silicon roles, including AI. and removed S: Untriaged Status: Indicates an item has not been triaged and doesn't have appropriate labels. labels Oct 20, 2025
Copy link
Member

@slarticodefast slarticodefast left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Duplicate of #31653
Same review as for the other PR: This needs to be preloading the target area via a view subscription to prevent PVS pop in.
Additionally this should not be hardcoded to station AIs or crew monitors.

@PJBot PJBot added S: Awaiting Changes Status: Changes are required before another review can happen and removed S: Needs Review Status: Requires additional reviews before being fully accepted. Not to be replaced by S: Approved. labels Oct 20, 2025
@slarticodefast slarticodefast added D1: High Difficulty: Extensive codebase knowledge required. and removed D2: Medium Difficulty: A good amount of codebase knowledge required. labels Oct 20, 2025
@Hitlinemoss
Copy link
Contributor

This is good quality-of-life for the AI player but I worry this might also be a significant buff. The AI needing to manually scroll around the station means antagonists can "distract" the AI by giving orders or causing problems that direct the AI's attention away from where their actual objective is; letting the AI instantly snap to certain locations improves their response time significantly and makes it very hard to avoid their attention.

@ScarKy0
Copy link
Contributor

ScarKy0 commented Oct 20, 2025

This is good quality-of-life for the AI player but I worry this might also be a significant buff. The AI needing to manually scroll around the station means antagonists can "distract" the AI by giving orders or causing problems that direct the AI's attention away from where their actual objective is; letting the AI instantly snap to certain locations improves their response time significantly and makes it very hard to avoid their attention.

This is a seperate issue that should be addressed in a seperate way. AI helping security is primarly due to the fact it is a force that the crew can 100% trust. This can be solved, for example, by allowing ion storms, a malf AI antagonist or natural tools allowing you to deter an AI from a location (disabling cameras, specific items to become invisible to silicons, similiar)
Rejecting what is essentially a huge QoL feature should not be done on a basis that a role that has nothing better to do does the only thing it can do, instead AI should be expanded so it has a natural role on the station outside of "I just spectate but can also talk".
Also unfortunately, all changes that fix this sorta behaviour are also in need of a silicon/AI design document

@Errant-4
Copy link
Member

Errant-4 commented Oct 21, 2025

Gonna be honest, my first reaction was to be "territorial", and biased toward my own solution. Perhaps natural. But on some reflection, I don't really care if I'm the one who gets the feature in or not, so long as it's done. I do not own this idea, and I also have other stuff I should be working on, too, so being able to "outsource" this is a net gain for the project, I suppose. Feel free to use any part of #31653 if you want

I did not do an in-depth code review but the biggest difference that immediately stood out to me is that this one works through just clicking on the map. I chose not to do that so it does not overlap with the current functionality, though this is undeniably more intuitive - would people reliably find how to navmap warp with my version?

As mentioned above, the hurdle that needs to be coded is that you need to do something like ViewSubscriber, but for coordinates instead of to an entity. This functionality is not yet coded.
The simplest way to achieve this would be to create/teleport an invisible intangible dummy entity, and viewsubscribe to that. Maintainer opinion differs whether this should be put into the engine in ViewSubscriberSystem, or can just be in the middle of the warp code. If it will just be put into content, please compartmentalize it into a distinct function so it will be fully portable for a later move to engine

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A: General Interactions Area: General in-game interactions that don't relate to another area. A: Silicons Area: Relates to Silicon roles, including AI. Changes: Sprites Changes: Might require knowledge of spriting or visual design. Changes: UI Changes: Might require knowledge of UI design or code. D1: High Difficulty: Extensive codebase knowledge required. P3: Standard Priority: Default priority for repository items. S: Awaiting Changes Status: Changes are required before another review can happen size/M Denotes a PR that changes 100-999 lines. T: New Feature Type: New feature or content, or extending existing content

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants